package com.groot.medical.service;

import java.awt.geom.Area;
import java.util.List;

import com.groot.medical.entity.AdministrativeArea;
import com.groot.medical.entity.PageBean;

public interface AdministrativeAreaService<T> {
	/**
	 * 分页查询行政区域信息
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageBean<T> findByPage(int pageNum, int pageSize);
	/**
	 * 查询所有行政区域信息
	 * @return
	 */
	List<AdministrativeArea> findAllAreaInfo();
	/**
	 * 添加行政区域信息
	 * @param area
	 * @return
	 */
	int addAreaInfo(AdministrativeArea area);
	/**
	 * 查询镇县两级所有行政区域信息
	 * @return
	 */
	List<AdministrativeArea> findOtherAreaInfo();
	/**
	 * 查询县级行政区域信息
	 * @return
	 */
	List<AdministrativeArea> findContryAreaInfo();
	/**
	 * 更具区域编码查询乡镇一级的区域信息
	 * @param areacode
	 * @return
	 */
	List<AdministrativeArea> findTownAreaInfo(String areacode);
	/**
	 * 更具区域编码查询村一级的区域信息
	 * @param areacode
	 * @return
	 */
	List<AdministrativeArea> findVillageAreaInfo(String areacode);
	/**
	 * 更具区域编码查询组一级的区域信息
	 * @param areacode
	 * @return
	 */
	List<AdministrativeArea> findGroupAreaInfo(String areacode);
	/**
	 * 查询所有镇级的行政区域的信息
	 * @return
	 */
	List<Area> findAllTownInfo();
	/**
	 * 查询县级和镇级的信息
	 * @return
	 */
	List<AdministrativeArea> findContryAndTown();
	/**
	 * 查询行政区域信息根据Id
	 * @param id
	 * @return
	 */
	AdministrativeArea findAreaInfoById(String id);
	/**
	 * 修改行政区域信息
	 * @param area
	 */
	void editArea(AdministrativeArea area);

}
